In a conventional electronic commerce (“e-commerce”) system, a user inputs specific search criteria to identify a desired product or service. In response, the e-commerce system returns descriptions of the various products and services that are available through the system and that match the specified criteria. In other words, the e-commerce system allows the user to input only certain criteria or will search and sort only on specific criteria. For example, the user may input a destination city, a departure city and specific dates into a user interface provided by an airline flight reservation system. In return, the airline flight reservation system provides a list of all available flights that match the specified criteria. However, other criteria or options of the product or service may affect the user's selection, and may not be available to the user based on the limited number of search variables. As a result, the user may not be able to make a well-informed decision taking into account all of the available options.
In addition, in many situations the number of matching products or services may be extremely large, or have a large number of criteria/options that do not correspond with the criteria the e-commerce system allows the user to input forcing the user to browse through numerous product or service descriptions in hopes of finding the product or service that most closely suites his or her needs and desires. To reduce the returned list of products or services to a manageable number, or to try and locate one that has all the criteria as wished for, the user submits modified search criteria to retrieve a new set of matching products or services, a process made more arduous if the criteria or option that the user is looking for is not an input field. Often, this process is repeated until the desired product or service is found. This may result in numerous search iterations and frustration on behalf of the user.